const baseURL = "https://mall-gateway.i.xgimi.com"
// 方法
function request(options) {
	return new Promise((resolve, reject) => {
		// 获取url
		var url = options.url;
		// 是否是http或者https开头的正则
		var re = /^https?/;
		// 如果不是就加baseURL
		if (!re.test(url)) {
			url = baseURL + url;
		}
		// 请求头
		var header = options.header || {};
		// 添加token
		header.Authorization = "Bearer " + uni.getStorageSync("token");
		// 添加公用请求头
		header.channel = "h5";
		// 如果有loading
		if (options.loading) {
			uni.showLoading({
				...options.loading
			})
		}
		// 发起网络请求
		uni.request({
			url, //地址
			header, //请求头
			data: options.data, //请求的数据
			method: options.method || "GET",
			success(res) {
				// 如果没有权限
				if (res.statusCode === 401) {
					uni.showToast({
						title: "没有权限"
					})
					reject(res);
				} else {
					resolve(res);
				}

			},
			fail(err) {
				reject(err)
			},
			complete() {
				//如果有加载中，结束加载提示
				if (options.loading) {
					uni.hideLoading()
				}
			}
		})

	})
}
// get简写
request.get = function(url, config) {
	return request({
		...config,
		url,
		method: "GET"
	})
}
// post简写
request.post = function(url, data, config) {
	return request({
		...config,
		url,
		method: "POST",
		data
	})
}
// 导入默认request
export default request;